test/isPrime.test.js
zzmq.dev@gmail.com[dev1]/mathkit[add-isprime-n-function-returns-whether-n] / test / isPrime.test.js
@ b48aa38b
Download
Ladder Summary
- file Add isPrime function with comprehensive tests and export it from the main entry
import { test } from "node:test";
import assert from "node:assert/strict";
import { isPrime } from "../src/isPrime.js";
test("isPrime identifies prime numbers", () => {
const primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 997];
for (const p of primes) {
assert.strictEqual(isPrime(p), true, `${p} should be prime`);
}
});
test("isPrime identifies composite numbers", () => {
const composites = [4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 25, 100];
for (const c of composites) {
assert.strictEqual(isPrime(c), false, `${c} should be composite`);
}
});
test("isPrime handles edge cases", () => {
assert.strictEqual(isPrime(0), false);
assert.strictEqual(isPrime(1), false);
assert.strictEqual(isPrime(-1), false);
assert.strictEqual(isPrime(-7), false);
});
test("isPrime returns false for non‑integer numbers and special values", () => {
assert.strictEqual(isPrime(2.5), false);
assert.strictEqual(isPrime(NaN), false);
assert.strictEqual(isPrime(Infinity), false);
assert.strictEqual(isPrime(-Infinity), false);
});